import { request } from "../../request/request.js";
import {timeFormat} from "../../utils/timeFormat.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
/**
 * 1.获取路由参数type      根据type值加载不同选项对应的页面
 * 2.
 * 3.
 * 4. 
 */

Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabs: [
      {
        id: 0,
        name: "全部",
        isActive: true        
      },
      {
        id: 1,
        name: "待付款",
        isActive: false
      },
      {
        id: 2,
        name: "待发货",
        isActive: false
      },
      {
        id: 3,
        name: "退款/退货",
        isActive: false
      }      
    ],
    orders: []
  },

  timeId: -1,

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    try {
      wx.removeStorageSync('token')
    } catch (e) {
      // Do something when catch error
    }
  },
  
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    try {
      wx.removeStorageSync('token')
    } catch (e) {
      // Do something when catch error
    }
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    /**
     * 1.判断缓存中是否存在token值，有则往下执行，否则让用户授权
     * 2.这里因为微信小程序个人帐号原因，没有token，所以写个别人的token（实际开发得用自己的）
     * 3.一旦离开这个页面别人的token值就被清空了
     */
    // 实际开发没有下面这一行
    wx.setStorageSync("token", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo");
    // 实际开发没有上面这一行
    const token = wx.getStorageSync("token");
    if (!token) 
    {
      wx.navigateTo({
        url: '/pages/auth/index'
      });  
      return;
    }

    // 获取type值
    let pages = getCurrentPages();
    const type = pages[pages.length - 1].options.type;
    // 发送请求获取订单信息
    this.getOrders(type);    
  },


  /**
   * 查询订单信息并根据type值激活导航标题 
   */
  async getOrders(type) {
    // 实际开发没有下面这一行
    clearTimeout(this.timeId);
    // 实际开发没有上面这一行
    const res = await request({url: "/my/orders/all",data: {type}});
    const orders = res.data.message.orders;
    this.setData({orders: orders.map(v => {
      let obj = {
        ...v,
        // create_time_cn: new Date(v.create_time * 1000).toLocaleString()
        create_time_cn: timeFormat(new Date(v.create_time * 1000))
      };
      return obj;
    })});
    // 根据type值激活导航标题 
    this.tabsItemChange(type - 1);  
    // 实际开发没有下面这几行
    this.timeId = setTimeout(() => {
      wx.showToast({
        title: '非真实商城，仅供展示！',
        icon: 'none',
        mask: true
      });
    }, 1500);
    // 实际开发没有上面这几行
  },


  /**
   * 激活导航标题 
   */
  tabsItemChange(index) {
    let tabs = this.data.tabs;
    tabs.forEach(v => {
      v.id === index ? v.isActive = true : v.isActive = false;
    })
    this.setData({
      tabs: tabs
    })
  },


  /** 
   * 处理点击标题栏时，根据不同标题的索引加载不同的主体内容
   */
  handleItemTap(e) {
    const {index} = e.detail;
    this.getOrders(index + 1);
  }



})